package java_dome.base;

public class Animal {
    /*
    动物类
     */
    // 1、标识符（就是变量名称，类名称等等）四种：Abc、abc、$abc、_abc
    /*
    2、修饰符 访问控制修饰符 default、public、protected、private
       修饰符 非访问控制修饰符 final、abstract、static、synchronized
    */
    // 内置8种基本数据类型，6种数字类型, 一个字符类型, 一个布尔类型
    private byte a = 127;  // 8位(-128~127)(-2^7~2^7-1) 4分之一int
    protected short b = 32767;  // 16位(-32768~32767)(-2^15~2^15-1) 2分之一int
    public int c = 21_4748_3647;  // 32位(-2,147,483,648)
    long d = 9_223_372_036_854_775_807L; //64位
    float e = 12.111f; // 32位
    double f = 12.1123d; // 64位
    boolean g = false;
    char h = '\u5b89';  // 字符类型
    // 常量 不可修改
    final int I = 12;
    String j = "1 23";
    String color;
    //    单精度浮点数需要加f
    float size = 1f;
    // 类变量/静态变量/常量  类中其他方法可以访问；实例变量/非静态，其他不可访问
    static String breed = "123123";
    // 成员变量
    int age;
    public String name;

    //构造方法，与类名相同
    public Animal(String aniName) {
        name = aniName;
        System.out.println("我是" + name);
    }

    public void eat(String food) {
        // 局部变量
        System.out.print("吃: " + food);
    }

    public void setAge(int ages){
        age = ages;
    }

    public int getAge(){
        return age;
    }

    public static void main(String[] args) {
        Animal animal = new Animal("dog");
        animal.eat("apple");
        animal.setAge(12);
        System.out.print(animal.getAge());
        byte a = 127;
        int b, c, d = 1;
        b = (int)a;
        Animal dog = new Animal("1");
        System.out.println(dog);
    }
}

